#!/bin/sh
#
# /etc/rc.d/rc.noip
#
# start/stop/restart the no-ip.com Dynamic dns client daemon
#
# To make noip client start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.noip
# and add this lines to /etc/rc.d/rc.local
#
# if [ -x /etc/rc.d/rc.noip ]; then
#  . /etc/rc.d/rc.noip start
# fi
#
# Written by slack.dhabyx@gmail.com and tested on Slackware 12.1
#

NOIP_PATH='/usr/bin'
NOIPCONFIG='/etc/no-ip2.conf'

config_exist() {
	if [ ! -f $NOIPCONFIG ] ; then
		echo "Please create the configuration file"
		echo "$NOIP_PATH/noip2 -C -c $NOIPCONFIG"
		exit 0;
	fi
}

start() {
	config_exist
	if ! /sbin/route -n | grep "^0.0.0.0" 1> /dev/null ; then
		echo "Gateway not defined yet, please init the network services."
		exit 0;
	fi
	echo "Starting no-ip client daemon: "
	/usr/bin/noip2 -c $NOIPCONFIG
}	

stop() {
	config_exist
	if $NOIP_PATH/noip2 -S -c $NOIPCONFIG 2>&1 | grep Process 1> /dev/null ; then
		echo "Stopping no-ip client daemon: ";
		for i in `$NOIP_PATH/noip2 -S -c $NOIPCONFIG 2>&1 | grep Process | awk '{print $2}' | tr -d ','`
		do
			$NOIP_PATH/noip2 -c $NOIPCONFIG -K $i
		done
	else
		echo "no-ip client daemon is not running" && exit 0
	fi
}

status() {
	config_exist
	if $NOIP_PATH/noip2 -S -c $NOIPCONFIG 2>&1 | grep Process 1>/dev/null ; then
		echo "no-ip client daemon is running"
	else
		echo "no-ip client daemon is not runnig"
	fi
}

restart() {
	stop
	start
}	

case "$1" in
  start)
  	start
	;;
  stop)
  	stop
	;;
  status)
	status
	;;
  restart)
  	restart
	;;
  *)
	echo "Usage: $0 {start|stop|status|restart}"
	exit 1
esac
